package com.jt.demo6;

import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/*Spring自动为该注解标识的类通过反射实例化对象,交给Spring容器管理
key:类名首字母小写user
value:反射的对象
类似于@Bean注解

@Component与@Bean的区别:
1,@Component spring容器通过反射自动创建对象
@Bean 是用户自己手动创建对象
2,@Component 标识类
@Bean 标识配置类的方法
3,@Component 对象的id是类名首字母小写
@Bean  对象的id是方法名(规范:首字母也小写)
*/
@Component
public class User {
    //1,对象的创建
    public  User(){
        System.out.println("用户对象创建成功");
    }
    @PostConstruct //初始化注解
    //2,进行初始化操作
    public void init(){
        System.out.println("为属性赋值");
    }
    //3,进行业务的调用  业务方法  用户手动调用
    public void hello(){
        System.out.println("我爱中国");
    }
    @PreDestroy //标识销毁的方法,在销毁之前
    //4,销毁方法
    public void destory(){
        System.out.println("调用销毁方法,释放资源");
    }
}
